import { IPSAppDEUILogic } from '../dataentity/ipsapp-deuilogic';
import { IPSAppDataEntity } from '../dataentity/ipsapp-data-entity';
import { IPSAppUILogicRefView } from './ipsapp-uilogic-ref-view';
import { IPSSysViewLogic } from '../../res/ipssys-view-logic';

/**
 *
 * 子接口类型识别属性[viewLogicType]
 * @export
 * @interface IPSAppUILogic
 */
export interface IPSAppUILogic extends IPSSysViewLogic {
  /**
   * 应用实体界面逻辑对象
   *
   * @type {IPSAppDEUILogic}
   */
  getPSAppDEUILogic(): IPSAppDEUILogic | null;

  /**
   * 应用实体对象
   *
   * @type {IPSAppDataEntity}
   */
  getPSAppDataEntity(): IPSAppDataEntity | null;

  /**
   * 应用界面逻辑引用视图集合
   *
   * @type {IPSAppUILogicRefView[]}
   */
  getPSAppUILogicRefViews(): IPSAppUILogicRefView[] | null;

  findPSAppUILogicRefView(objKey: any): IPSAppUILogicRefView | null;

  /**
   * 界面逻辑类型
   * @type {string}
   */
  viewLogicType: string;

  /**
   * 内建逻辑
   * @type {boolean}
   * @default true
   */
  builtinLogic: boolean;
}
